package com.candy.dao;

import java.sql.*;

public class DBHelper {
//    程序的启动入口
//    在idea中可以使用快捷键main或者psvm生成main方法
    public static void main(String[] args) {
//        异常处理，try后面放的是可能出现问题的代码块，在catch后对应出现异常后的处理
//        使用idea的快捷键（ctrl+alt+t)自动生成try catch方法
        try {
//        （0）下载jdbc驱动包；将驱动包导入项目。
//        注意：mysql8和mysql5的驱动包版本不通用。
//        （1）注册或实例化jdbc的驱动类
            Class.forName("com.mysql.cj.jdbc.Driver");
//        （2）获取数据库连接对象Connection
//            jdbc:mysql表示使用jdbc链接mysql数据库
//            localhost：表示要链接的数据库所在的地址，此时的localhost表示本机，与127.0.0.1相同
//            database_name表示要链接的数据库的名字
            String url="jdbc:mysql://localhost:3306/ld_mysql0317? characterEncoding=utf8 & useSSL=false & serverTimezone=UTC & rewriteBatchedStatements=true";
            String username="root";
            String password="123456";
            Connection conn= DriverManager.getConnection(url,username,password);
//        （3）获取数据库操作对象Statement（执行增删改查）
            Statement ment=conn.createStatement();
//        （4）执行SQL语句，获取数据操作结果或者结果集对象ResultSet
            String sql="SELECT  * FROM userinfo;";
            ResultSet se= ment.executeQuery(sql);
//        （5）解析结果集对象ResultSet，进行相关的业务处理；
            while (se.next()){
                System.out.print(se.getObject(1)+"\t");
                System.out.print(se.getObject(2)+"\t");
                System.out.print(se.getObject(3)+"\t");
                System.out.print(se.getObject(4)+"\t");
                System.out.println();
            }
//         (6)关闭资源；
            se.close();
            ment.close();
            conn.close();
            System.out.println("资源关闭之后.....");
//            当资源关闭后，无法在获取ResultSet中的数据
            while (se.next()){
                System.out.print(se.getObject(1)+"\t");
                System.out.print(se.getObject(2)+"\t");
                System.out.print(se.getObject(3)+"\t");
                System.out.print(se.getObject(4)+"\t");
                System.out.println();
            }

        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }catch (SQLException e) {

        }


    }

}
